﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SalesSys.WebCore
{
    public class CommDto
    {
        public static CommDto<T1, T2> Create<T1,T2>(T1 item1,T2 item2)
        {
            return new CommDto<T1, T2> {Item1 = item1, Item2 = item2};
        }
        public static CommDto<T1, T2,T3> Create<T1, T2,T3>(T1 item1, T2 item2,T3 item3)
        {
            return new CommDto<T1, T2,T3> { Item1 = item1, Item2 = item2,Item3=item3 };
        }
        public static CommDto<T1, T2, T3,T4> Create<T1, T2, T3,T4>(T1 item1, T2 item2, T3 item3,T4 item4)
        {
            return new CommDto<T1, T2, T3,T4> { Item1 = item1, Item2 = item2, Item3 = item3,Item4=item4 };
        }
        public static CommDto<T1, T2, T3, T4,T5> Create<T1, T2, T3, T4,T5>(T1 item1, T2 item2, T3 item3, T4 item4,T5 item5)
        {
            return new CommDto<T1, T2, T3, T4, T5> { Item1 = item1, Item2 = item2, Item3 = item3, Item4 = item4,Item5 = item5};
        }
        public static CommDto<T1, T2, T3, T4, T5,T6> Create<T1, T2, T3, T4, T5,T6>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5,T6 item6)
        {
            return new CommDto<T1, T2, T3, T4, T5,T6> { Item1 = item1, Item2 = item2, Item3 = item3, Item4 = item4, Item5 = item5,Item6=item6 };
        }

    }

    public class CommDto<T1,T2>
    {
       public T1 Item1 { get; set; }
       public T2 Item2 { get; set; }

    }

    public class CommDto<T1, T2, T3> : CommDto<T1, T2>
    {
        public T3 Item3 { get; set; }
    }
    public class CommDto<T1, T2, T3,T4> : CommDto<T1, T2, T3>
    {
        public T4 Item4 { get; set; }
    }
    public class CommDto<T1, T2, T3,T4,T5> : CommDto<T1, T2, T3, T4>
    {
        public T5 Item5 { get; set; }
    }
    public class CommDto<T1, T2, T3,T4,T5,T6> : CommDto<T1, T2, T3, T4, T5>
    {
        public T6 Item6 { get; set; }
    }
}
